/**
 * 项目结构观察器，通过解析整理整个项目依赖关系数据，
 * 将整个项目复杂的依赖关系绘制到页面中
 */
define(function(require, exports, module) {
    /**
     * 绘制器数据管理器
     */
    var dataManager = require('./ProjectStructViewerDataManager');
    /**
     * 绘制器画刷
     */
    var printer = require('./ProjectStructViewerPrinter');
    /**
     * 绘制图表 
     * @param {Object} structData 结构化数据
     * @param {Object} contentDom 绘图容器，若没有则直接转变为body
     */
    function draw(structData, contentDom, graphStrategy) {
        dataManager.converStructData(structData);
        printer.print(
            dataManager.nodes, 
            dataManager.edges,
            dataManager.nodeMap,
            dataManager.edgeConnectTimesMap,
            contentDom,
            graphStrategy
        );
    }
    
    function onNodeClicked(node) {
        
    }
    
    return {
        draw : draw
    }
})
